package com.j48.entrancegurad.service.impl;

import com.j48.entrancegurad.mapper.AdminMapper;
import com.j48.entrancegurad.model.Admin;
import com.j48.entrancegurad.service.IAdminService;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class AdminService implements IAdminService {

    @Autowired
    private AdminMapper admindao;

    /**
     * 登录预备
     * @param admin
     * @return
     */
    @Override
    public Admin login(Admin admin){
        Admin admin1 = new Admin();
        String password= DigestUtils.md5Hex(admin.getAdmin_password());
        admin.setAdmin_password(password);
        admin1=admindao.login(admin);
        return admin1;
    }

    /**
     * 登录
     * @param admin
     * @return
     */
    @Override
    public Admin login2(Admin admin){
        Admin admin1 = new Admin();
        admin1=admindao.login(admin);
        return admin1;
    }

    /**
     * 查询全部管理员列表
     * @return
     */
    @Override
    public List<Admin> selectAll() {
        List<Admin> lists=new ArrayList<Admin>();
        lists=admindao.selectAll();
        if (lists.size()>0){
            return lists;
        }
        return null;
    }

    /**
     * 查询管理员
     * @param admin 对象
     * @return
     */
    @Override
    public Admin selectOne(Admin admin) {
        Admin ad=new Admin();
        ad=admindao.selectByName(admin);
        if (ad!=null){
            return ad;
        }
        return null;
    }

    /**
     * 添加管理员
     * @param admin 管理员对象
     * @return
     */
    @Override
    public boolean addAdmin(Admin admin) {
        if (admindao.insert(admin)>0){
            return true;
        }
        return false;
    }

    /**
     * 离职管理员
     * @param admin 管理员对象
     * @return
     */
    @Override
    public boolean deleteAdmin(Admin admin) {
        if (admindao.delete(admin)>0){
            return true;
        }
        return false;
    }

    /**
     * 修改管理员
     * @param admin 管理员对象
     * @return
     */
    @Override
    public boolean updateAdmin(Admin admin) {
        if (admindao.updateAdmin(admin)>0){
            return true;
        }
        return false;
    }

    /**
     * 按id查询管理员
     * @param admin 管理员对象信息
     * @return
     */
    @Override
    public Admin selectById(Admin admin) {
        Admin ad=admindao.selectById(admin);
        if (ad!=null){
            return ad;
        }
        return null;
    }

    /**
     * 按账号查询管理员
     * @param admin
     * @return
     */
    @Override
    public ArrayList<Admin> selectByUserName(Admin admin) {
        return admindao.selectByNames(admin);
    }

    /**
     * 按姓名查询管理员
     * @param admin
     * @return
     */
    @Override
    public ArrayList<Admin> selectByUserNames(Admin admin) {
        return admindao.selectByNames1(admin);
    }

    /**
     * 更新最后登录时间
     * @param admin
     * @return
     */
    @Override
    public boolean updateLasttime(Admin admin) {
        if(admindao.updateLasttime(admin)>0){
            return true;
        }
        return false;
    }

    /**
     * 更新登录状态
     * @param admin
     * @return
     */
    @Override
    public int updataLogin(Admin admin) {
        return admindao.updateAdminLogin(admin);
    }

    /**
     * 更新登录状态
     * @param admin
     * @return
     */
    @Override
    public int updataLogin1(Admin admin) {
        return admindao.updateAdminLogin1(admin);
    }


}